import Vue from 'vue'
import Vuex from 'vuex'
import rootModule from './rootModule'// 根模块

Vue.use(Vuex)
// require.context()动态加载模块，实现store的状态分割
// 读取modules的目录，不读子目录，匹配.js文件的正则表达式
const files = require.context('./modules', false, /\.js$/)
files.keys().forEach(key => {
    // 模块对应的内容
    const store = files(key).default;
    const moduleName = key.replace(/^\.\//, '').replace(/\.js$/, '')
    // 动态的添加模块
    const modules = rootModule.modules = (rootModule.modules || {})
    modules[moduleName] = store
    modules[moduleName].namespaced = true
})
const store = new Vuex.Store(rootModule);
export default store
